package com.pactera.madp.cp.api.entity.prod;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 华融湘江产品表
 *
 * @author HuHao
 * @date 2022/3/16 9:31
 */
@Data
@ApiModel(value = "产品实体")
@TableName("cp_product")
public class ProdEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Integer id;

    @ApiModelProperty(value = "产品编码")
    private String code;

    @ApiModelProperty(value = "产品登记编码")
    private String debtRegistCode;

    @ApiModelProperty(value = "产品名称")
    private String name;

    @ApiModelProperty(value = "合同地址")
    private String productAddress;

    @ApiModelProperty(value = "精选标识")
    private Integer status;

    @ApiModelProperty(value = "上架时间")
    private String onTime;

    @ApiModelProperty(value = "开始时间")
    private String startTime;

    @ApiModelProperty(value = "到期时间")
    private String endTime;

    @ApiModelProperty(value = "产品分组")
    private Integer type;

    @ApiModelProperty(value = "排序")
    private Integer sort;

    @ApiModelProperty(value = "产品状态(0-未编辑 1-未发布 2-已发布 3-待审批 4-已驳回)")
    private Integer state;

    @ApiModelProperty(value = "利率")
    private Float rate;

    @ApiModelProperty(value = "日涨跌幅")
    private Float dayRate;

    @ApiModelProperty(value = "年涨跌幅")
    private Float yearRate;

    @ApiModelProperty(value = "产品标签")
    private String prdLable;

    @ApiModelProperty(value = "描述1")
    private String desc1;

    @ApiModelProperty(value = "描述2")
    private String desc2;

    @ApiModelProperty(value = "图片1")
    private String image1;

    @ApiModelProperty(value = "图片2")
    private String image2;

    @ApiModelProperty(value = "链接")
    private String url;

    @ApiModelProperty(value = "贷款内容描述（2 - 图文 1 - 小程序）")
    private Integer loanDescType;

    @ApiModelProperty(value = "小程序id")
    private String loanAppId;

    @ApiModelProperty(value = "小程序原始id")
    private String loanOrgAppId;

    @ApiModelProperty(value = "贷款内容链接")
    private String loanDescUrl;

    @ApiModelProperty(value = "企业微信用户Id")
    private Integer corpId;

    @ApiModelProperty(value = "产品期限")
    private String termDesc;

    @ApiModelProperty(value = "净值")
    private BigDecimal nav;

    @ApiModelProperty(value = "净值日期")
    private LocalDateTime navDate;

    @ApiModelProperty(value = "基金公司名称")
    private String taName;

    @JsonProperty("pFirstAmt")
    @ApiModelProperty(value = "个人起购金额")
    private BigDecimal pFirstAmt;

    @ApiModelProperty(value = "风险等级")
    private Integer riskLevel;

    @JsonProperty("pAppAmt")
    @ApiModelProperty(value = "个人追加金额")
    private BigDecimal pAppAmt;

    @JsonProperty("pMaxAmt")
    @ApiModelProperty(value = "个人单笔最大购买金额")
    private BigDecimal pMaxAmt;

    @ApiModelProperty(value = "产品投资类型")
    private Integer prdInvestType;

    @ApiModelProperty(value = "产品状态 0-开放期 1-募集期 2-发行成功 3-发行失败 4-停止交易 5-停止申购 6-停止赎回 7-权益登记 8-红利发放 9-产品封闭 a-产品终止 b-预约认购期")
    private String prdStatus;

    @JsonProperty("FundIncomeUnit")
    @ApiModelProperty(value = "万份产品单位收益")
    private BigDecimal incomeUnit;

    @JsonProperty("Yield")
    @ApiModelProperty(value = "七日年化收益率")
    private BigDecimal yield;

    @ApiModelProperty(value = "业绩比较基准")
    private String modelComment;

    @ApiModelProperty(value = "产品模板信息")
    private String reserve1;

    @ApiModelProperty(value = "交易方式 0-开放式 1-半封闭式 2-封闭式 3-半开放式")
    private String transWay;

    @ApiModelProperty(value = "计息天数")
    private Integer interestDays;

    @ApiModelProperty(value = "taCode")
    private String taCode;

    @ApiModelProperty(value = "周期起息日")
    private Integer cycleUpDate;

    @ApiModelProperty(value = "周期到期日")
    private Integer cycleDate;

    @ApiModelProperty(value = "产品属性")
    private String prdAttr;

    @ApiModelProperty(value = "募集起始日期")
    private String ipoStartDate;

    @ApiModelProperty(value = "募集结束日期")
    private String ipoEndDate;

    @ApiModelProperty(value = "开放日")
    private String prevCycleDate;

    @ApiModelProperty(value = "开市时间")
    private Integer openTime;

    @ApiModelProperty(value = "闭市时间")
    private Integer closeTime;

    @ApiModelProperty(value = "资管代销产品周期说明")
    private String openCycle;

    @ApiModelProperty(value = "业绩基准说明详述")
    private String benchExplainDetail;

    @ApiModelProperty(value = "主页面历史业绩类型 0-月化收益率 1-季度年化收益率 3-半年化收益率 4-年化收益率 5-截止当天年化收益率")
    private String showBenchType;

    @ApiModelProperty(value = "主页面历史业绩")
    private String benchValue;

    @ApiModelProperty(value = "产品简介")
    private String prdInfo;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "删除标记")
    private String delFlag;

    @ApiModelProperty(value = "租户ID")
    private Integer tenant_id;

    @ApiModelProperty(value = "审批意见")
    private String opinion;

}
